package org.mybaits.chapter4.mapper;

import java.util.List;
import java.util.Map;

import org.mybaits.chapter4.entitys.User;

/**
 * 
 * <p>Description:基于 mapper 代理，只需要定义mapper接口，不需要实现</p>
 * <p>Company:www.xinyi.com</p>
 * @author imssee
 * @date 2016年2月29日 上午9:25:59
 * @version 1.0
 * 
 * 基于 mapper 代理开发规范：
 *   1.  *mapper.xml 中的namespace 属性值为 mapper 接口地址;
 *   2.  *mapper.java接口中的方法名和*mapper.xml中 的<select><update><delete><insert>中的id 属性值一样;
 *   3.  *mapper.java 接口中的方法参数类型和*mapper.xml 中的<select><update><delete><insert> 中的parameterType属性值一样;
 *   4.  *mapper.java 接口中的方法返回值类型和*mapper.xml 中的<select><update><delete><insert> 中的resultType属性值一样
 */
public interface UserMapper {
	
	/**
	 * 查询用户，mapper.xml 中使用reslutMap 返回
	 * @param id
	 * @return
	 * @throws Exception
	 */
	User getUserById(Long id) throws Exception;
	
	/**
	 * 根据用户名查询用户，返回指定的字段
	 * @param username
	 * @return
	 * @throws Exception
	 */
	List<Map<String, Object>> getMapReturnResultMap(String username)throws Exception;
	
}
